package com.hongye.house.domain.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.hongye.common.core.annotation.Excel;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.math.BigDecimal;
import java.util.Date;

/**
 * @Author Ms.发发
 * @ClassName HouseResourceDTO
 * @Date 2025/2/14 22:32
 * @Description 房源响应DTO
 **/
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class HouseResourceDTO {
    /** 小区ID */
    private String plotId;

    /** 小区名称 */
    @Excel(name = "小区名称")
    private String plotName;

    /** 省级/市级/区县编号 */
    @Excel(name = "省级/市级/区县编号")
    private String areasCode;

    /** 所在区域 */
    @Excel(name = "所在区域")
    private Long district;


    /** 房源编号 */
    private Long houseId;

    /** 房源名称 */
    @NotNull(message = "房源名称不能为空")
    @Excel(name = "房源名称")
    private String houseName;

    /** 房源价格 */
    @Excel(name = "房源价格")
    @Size(min = 1,message = "价格格式不正确")
    private BigDecimal housePrice;

    /** 房源类型（公寓,商铺,写字楼,二手房,出租房） */
    @Excel(name = "房源类型", readConverterExp = "公=寓,商铺,写字楼,二手房,出租房")
    @NotNull(message = "房源类型不能为空")
    private String houseType;

    /** 房源户型 */
    @Excel(name = "房源户型")
    @NotNull(message = "房源户型不能为空")
    private String houseTypes;

    /** 房源面积 */
    @Excel(name = "房源面积")
    @Size(min = 1,message = "面积格式不正确")
    private BigDecimal houseArea;



    /** 房源详细地址 */
    @Excel(name = "房源详细地址")
    @NotNull(message = "房源详细地址不能为空")
    private String address;

    /** 房源状态 */
    @Excel(name = "房源状态")
    private String houseStatus;

    /** 房主id */
    @Excel(name = "房主id")
    private Integer ownerId;

    /** 房源介绍 */
    @Excel(name = "房源介绍")
    private String introduce;

    /** 配套设施（如客梯,货梯,中央空调,停车位,网络,暖气,扶梯,天然气等） */
    @Excel(name = "配套设施", readConverterExp = "如=客梯,货梯,中央空调,停车位,网络,暖气,扶梯,天然气等")
    private String facilities;

    /** 地区编码 */
    @Excel(name = "地区编码")
    private String areaCode;

    /** 短租开始时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "短租开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date rentStartDate;

    /** 短租结束时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "短租结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date rentEndDate;

    /** 预览图 */
    @Excel(name = "预览图")
    private String previewImages;

    /** 排序方式 */
    @Excel(name = "排序方式")
    private String sortType;

    /** 距离 */
    @Excel(name = "距离")
    private BigDecimal distance;

    /** 楼层房号 */
    @Excel(name = "楼层房号")
    private String floorRoomNumber;

    /** 短租均价 */
    @Excel(name = "短租均价")
    private BigDecimal rentAveragePrice;

    /** 购买一口价 */
    @Excel(name = "购买一口价/租房一口价")
    private BigDecimal purchasePrice;

    /** 商铺租金一口价 */
    @Excel(name = "商铺租金一口价")
    private BigDecimal shopRentPrice;


    private String owner;


}
